const { login, salesLogin, getAdmins, updateState, getAdminsByUsername, addAdmins, deleteAdmins, getAdminsById, updateAdmins } = require('../dao/modules/adminDao')
const jwt = require('jsonwebtoken')
//管理员登录

module.exports.login = async (val) => {
    const data = await login(val)
    console.log('账号',data);
    if (data.length > 0) {
            if(data[0].state == true && data[0].delete == true){
                   const token = jwt.sign(
               { username: data[0].username }, //保存当前用户的当前信息
               'hyh', //秘钥
               { expiresIn: 20 },//token有效期
           )
                    return {
                        code: 1,
                        message: '管理员登录成功',
                        data,
                        token:token
                    }
            }else{
                return {
                    code:0,
                    message:'账号密码错误'
                }
            }
        // if (data[0].power == '1') {
        //     const token = jwt.sign(
        //         { username: data[0].username }, //保存当前用户的当前信息
        //         'hyh', //秘钥
        //         { expiresIn: 20 },//token有效期
        //     )
          
        //     return {
        //         code: 1,
        //         message: '超级管理员登录成功',
        //         data,
        //         // token 验证需要凭借前面的字符串验证
        //         token:token
        //     }
        // } else {
        //     return {
        //         code: 1,
        //         message: '管理员登录成功',
        //         data
        //     }
        // }
    } else {
        return {
            code: 0,
            message: '账号密码错误',

        }
    }
}
//销售员登录
module.exports.salesLogin = async (val) => {
    const data = await salesLogin(val)
    if (data.length > 0) {
        const token = jwt.sign(
            { username: data[0].username }, //保存当前用户的当前信息
            'hyh', //秘钥
            { expiresIn: 60 },//token有效期
        )
        return {
            code: 1,
            message: '销售员登录成功',
            data,
            token:token
        }
    } else {
        return {
            code: 0,
            message: '销售员密码错误',
            data
        }
    }
}
// 获取管理员
module.exports.getAdmins = async function (params) {
    const result = await getAdmins(params);
    return {
        code: 1,
        message: '获取管理员数据成功',
        data: result.data,
        total: result.total
    }
    // if (result.data.length > 0) {
    //     return {
    //         code: 1,
    //         message: '获取管理员数据成功',
    //         data: result.data,
    //         total: result.total
    //     }
    // } else {
    //     return {
    //         code: 0,
    //         message: '获取管理员数据失败'
    //     }
    // }
}
// 修改管理员权限
module.exports.updateState = async function (data) {
    const result = await updateState(data);
    if (result.nModified) {
        return {
            code: 1,
            message: '管理员权限修改成功',
        }
    } else {
        return {
            code: 0,
            message: '管理员权限修改失败',
        }
    }
}
// 根据账号获取管理员
module.exports.getAdminsByUsername = async function (data) {
    const result = await getAdminsByUsername(data);
    if (result.length > 0) {
        return {
            code: 1,
            message: '根据账号获取成功'
        }
    } else {
        return {
            code: 0,
            message: '没有该管理员'
        }
    }
}
// 增加管理员
module.exports.addAdmins = async function (data) {
    const result = await addAdmins(data);
    if (result) {
        return {
            code: 1,
            message: '添加成功'
        }
    }
    else {
        return {
            code: 0,
            message: '添加失败'
        }
    }
}
// 删除管理员
module.exports.deleteAdmins = async function (data) {
    const result = await deleteAdmins(data);
    if (result.nModified) {
        return {
            code: 1,
            message: '删除成功'
        }
    }
    else {
        return {
            code: 0,
            message: '删除失败'
        }
    }
}
// 根据id获取管理员
module.exports.getAdminsById = async function (data) {
    const result = await getAdminsById(data);
    if (result) {
        return {
            code: 1,
            message: '根据id获取管理员成功',
            data: result
        }
    }
    else {
        return {
            code: 0,
            message: '根据id获取管理员失败'
        }
    }
}
// 更新管理员
module.exports.updateAdmins = async function (data) {
    const result = await updateAdmins(data);
    if (result.nModified) {
        return {
            code: 1,
            message: '管理员信息修改成功',
        }
    } else {
        return {
            code: 0,
            message: '管理员信息修改失败',
        }
    }
}